package booyah.service;

import java.sql.Timestamp;
import java.util.List;

import org.springframework.transaction.annotation.Transactional;

import booyah.application.Event;
import booyah.application.Person;
import booyah.application.Position;

/**
 * 
 */
public interface EventService {

	@Transactional
	public void createEvent(Event event);
	
	@Transactional
	public void updateEvent(Event event);
	
	@Transactional
	public void updateEvent(Event event, Position position);
	
	@Transactional
	public void deleteEvent(Event event);
	
	public List<Event> findAllEvents();

	@Transactional
	public void removePositionFromEvent(Event event, Position position);

	public List<Event> findEventsForAdministrator(Person administrator);
	
	// The following are the new 
	
	public List<Event> findEventsByStartDate(Timestamp startTime);
	
	public Event findEventByEventId(long id);
	
}
